﻿namespace Lightray.Hattrick.ChppLib.EntityTypes
{
    public enum SkillLevel
    {
        Unknown = - 1,
        NonExistent = 0,
        Disastrous,
        Wretched,
        Poor,
        Weak,
        Inadequate,
        Passable,
        Solid,
        Excellent,
        Formidable,
        Outstanding,
        Brilliant,
        Magnificent,
        WorldClass,
        Supernatural,
        Titanic,
        ExtraTerrestrial,
        Mythical,
        Magical,
        Utopian,
        Divine,
    }

    public enum Agreeability
    {
        NastyFellow,
        ControversialPerson,
        PleasantGuy,
        SympatheticGuy,
        PopularGuy,
        BelovedTeamMember,
    }

    public enum Aggressiveness
    {
        Tranquil,
        Calm,
        Balanced,
        Temperamental,
        Fiery,
        Unstable,
    }

    public enum Honesty
    {
        Infamous,
        Dishonest,
        Honest,
        Upright,
        Righteous,
        Saintly,
    }

    public enum Specialty
    {
        None,
        Technical,
        Quick,
        Powerful,
        Unpredictable,
        Head
    }

    public enum MatchType
    {
        LeagueMatch = 1,
        QualificationMatch = 2,
        CupMatch = 3,
        FriendlyNormalRules = 4,
        FriendlyCupRules = 5,
        InternationalCompetitionNormalRules = 6,
        HattrickMasters = 7,
        InternationalFriendlyNormalRules = 8,
        InternationalFriendlyCupRules = 9,
        NationalTeamsCompetitionMatchNormalRules = 10,
        NationalTeamsCompetitionMatchCupRules = 11,
        NationalTeamsFriendly = 12,
        YouthLeagueMatch = 100,
        YouthFriendlyMatchNormalRules = 101,
        RESERVED1 = 102,
        YouthFriendlyMatchCupRules = 103,
        RESERVED2 = 104,
        YouthInternationalFriendlyMatchNormalRules = 105,
        YouthInternationalFriendlyMatchCupRules = 106,
        RESERVED3 = 107
    }

    public enum MatchStatus
    {
        Finished = 0,
        Ongoing = 1,
        Upcoming = 2
    }

    public enum Weather
    {
        Rainy = 0,
        Overcast = 1,
        PartiallyCloudy = 2,
        Sunny = 3,
        Unknown = 99
    }

    public enum Formation
    {
        F_5_5_0 = 0,
        F_5_4_1 = 1,
        F_5_4_1_1W = 10,
        F_5_4_1_2W = 11,
        F_5_3_2 = 2,
        F_5_3_2_0W = 20,
        F_5_3_2_1W = 21,
        F_5_3_2_2W = 22,
        F_5_2_3 = 3,
        F_5_2_3_0W = 30,
        F_5_2_3_1W = 31,
        F_5_2_3_2W = 32,
        F_4_5_1 = 4,
        F_4_5_1_1WB = 40,
        F_4_5_1_2WB = 41,
        F_4_4_2 = 5,
        F_4_4_2_1W_1WB = 50,
        F_4_4_2_1W_2WB = 51,
        F_4_4_2_2W_1WB = 52,
        F_4_4_2_2W_2WB = 53,
        F_4_3_3 = 6,
        F_4_3_3_0W_1WB = 60,
        F_4_3_3_0W_2WB = 61,
        F_4_3_3_1W_1WB = 62,
        F_4_3_3_1W_2WB = 63,
        F_4_3_3_2W_1WB = 64,
        F_4_3_3_2W_2WB = 65,
        F_3_5_2 = 7,
        F_3_5_2_0WB = 70,
        F_3_5_2_1WB = 71,
        F_3_5_2_2WB = 72,
        F_3_4_3 = 8,
        F_3_4_3_1W_0WB = 80,
        F_3_4_3_1W_1WB = 81,
        F_3_4_3_1W_2WB = 82,
        F_3_4_3_2W_0WB = 83,
        F_3_4_3_2W_1WB = 84,
        F_3_4_3_2W_2WB = 85,
        F_2_5_3 = 9,
        F_2_5_3_0WB = 90,
        F_2_5_3_1WB = 91,
        F_2_5_3_2WB = 92        
    }

    public enum TacticType
    {
        Normal = 0,
        Pressing = 1,
        CounterAttacks = 2,
        AttackInMiddle = 3,
        AttackOnWings = 4,
        Creatively = 7,
        LongShots = 8
    }

    public enum TeamAttitude
    {
        Hidden = -2,
        PiC = -1,
        Normal = 0,
        MotS = 1
    }

    public enum GameRatingsPositions
    {
        Midfield,
        RightDefence,
        CentralDefence,
        LeftDefence,
        RightAttack,
        CentralAttack,
        LeftAttack,
        IndirectSetPiecesDefence,
        IndirectSetPiecesAttack
    }

    public enum SecondaryMatchRating
    {
        VeryLow = 0,
        Low = 1,
        High = 2,
        VeryHigh = 3
    }

    public enum BookingType
    {
        YellowCard = 1,
        RedCard = 2
    }

    public enum TrophyType
    {
        Series = 17,
        NationalCup = 16,
        HattrickMasters = 91,
        HattrickMastersTopScorer = 93,
    }

    public enum Country
    {
        Sweden = 1,
        England = 2,
        Germany = 3,
        Italy = 4,
        France = 5,
        Mexico = 6,
        Argentina = 7,
        USA = 8,
        Norway = 9,
        Denmark = 10,
        Finland = 11,
        Netherlands = 12,
        Oceania = 13,
        Canada = 14,
        Scotland = 15,
        Ireland = 16,
        Chile = 17,
        Colombia = 18,
        Uruguay = 19,
        Venezuela = 20,
        Peru = 21,
        Brazil = 22,
        Portugal = 23,
        SouthAfrica = 24,
        Japan = 25,
        Poland = 26,
        India = 27,
        China = 28,
        SouthKorea = 29,
        Thailand = 30,
        Turkey = 31,
        Egypt = 32,
        Austria = 33,
        Russia = 34,
        Spain = 35,
        Romania = 36,
        Iceland = 37,
        Belgium = 38,
        Malaysia = 39,
        Switzerland = 40,
        Singapore = 41,
        Croatia = 42,
        Serbia = 43,
        Hungary = 44,
        Greece = 45,
        CzechRepublic = 46,
        Estonia = 47,
        Latvia = 48,
        Indonesia = 49,
        Philippines = 50,
        Israel = 51,
        ChineseTaipei = 52,
        HongKong = 53,
        Bulgaria = 55,
        Wales = 56,
        Slovenia = 57,
        Lithuania = 61,
        Ukraine = 62,
        BosniaHerzegovina = 63,
        Pakistan = 64,
        Vietnam = 65,
        Slovakia = 66,
        Paraguay = 67,
        Ecuador = 68,
        Bolivia = 69,
        Nigeria = 70,
        FaroeIslands = 71,
        Morocco = 72,
        SaudiArabia = 75,
        Tunisia = 76,
        CostaRica = 77,
        UnitedArabEmirates = 78,
        Luxembourg = 79,
        Iran = 80,
        Cyprus = 82,
        DominicanRepublic = 83,
        Senegal = 86,
        Belarus = 87,
        NorthernIreland = 88,
        Jamaica = 89,
        Kenya = 90,
        Panama = 91,
        FYRMacedonia = 92,
        Cuba = 93,
        Albania = 94,
        Honduras = 95,
        ElSalvador = 96,
        Malta = 97,
        Kyrgyzstan = 98,
        Moldova = 99,
        Georgia = 100,
        Andorra = 101,
        Guatemala = 102,
        Jordan = 103,
        Armenia = 104,
        TrinidadTobago = 105,
        Nicaragua = 121,
        Kazakhstan = 122,
        Suriname = 123,
        Liechtenstein = 125,
        Algeria = 126,
        Mongolia = 127,
        Lebanon = 128,
        Bahrain = 129,
        Barbados = 130,
        CapeVerde = 131,
        IvoryCoast = 132,
        Azerbaijan = 133,
        Kuwait = 134,
        Iraq = 135,
        Montenegro = 136,
        Angola = 137,
        Bangladesh = 138,
        Yemen = 139,
        Oman = 140,
        Mozambique = 142,
        Brunei = 143,
        Ghana = 144,
        Cambodia = 145,
        Benin = 147,
        Syria = 148,
        Qatar = 149,
        Tanzania = 150,
        Uganda = 153,
        Maldives = 154,
        Uzbekistan = 163,
        Cameroon = 165,
        Palestine = 166,
    }

    public enum SupportersMood
    {
        Unknown = -1,
        Murderous = 0,
        Furious = 1,
        Angry = 2,
        Irritated = 3,
        Disappointed = 4,
        Calm = 5,
        Content = 6,
        Satisfied = 7,
        Delirious = 8,
        HighOnLife = 9,
        DancingInTheStreets = 10,
        SendingLovePoemsToYou = 11
    }

    public enum SponsorsMood
    {
        Unknown = -1,
        Murderous = 0,
        Furious = 1,
        Irritated = 2,
        Calm = 3,
        Content = 4,
        Satisfied = 5,
        Delirious = 6,
        HighOnLife = 7,
        DancingInTheStreets = 8,
        SendingLovePoemsToYou = 9
    }

    public enum Skill
    {
        Form,
        Experience,
        Leadership,
        Stamina,
        Keeper,
        Playmaking,
        Scoring,
        Passing,
        Winger,
        Defending,
        SetPieces
    }

    public enum ProgressCharacteristic
    {
        Positive = 0,
        Negative = 1,
        Neutral = 2
    }

    public enum ProgressType
    {
        PlayerAttributeChanged,
        PlayerJoined,
        PlayerLeft,
    }

    public enum ProgressAttributes
    {
        Age,
        Cards,
        InjuryLevel,
        TSI,
        Salary,
        Skill,
        RoleScore,
    }

    public enum FieldPosition
    {
        Unknown = 0,
        Forward = 1,
        Winger = 2,
        Playmaker = 3,
        Wingback = 4,
        Defender = 5,
        Goalkeeper = 6,
    }

    public enum PlayerRole
    {
        Forward,
        Winger,
        Playmaking,
        Wingback,
        Defender,
        Goalkeeper,
        SetPieces,
        PenaltyTaker,
        Captain,
    }     
};
